Every storage media is subjected to eventual temporal or permanent failure—With removable media there is a risk of loss or misplacement, typically stationary media such as hard disks are subject to wear and tear over time. Typically users try to mitigate the risk of losing data by periodically copying the data from one storage medium to another. Ideally both media are not subject to the same risk, i.e. they are kept at separate places to ensure that they are not impacted by the same event such as fire, flooding etc. Computer systems and software for computer systems aid the user in keeping backups of his data, e.g. by means of an archiving or backup software that periodically either reminds the user to backup his data on a separate medium or performs such a backup automatically based on preset parameters. In case of a failure of the primary media the user either replaces the primary medium with one of the backup media, i.e. the selected backup medium becomes the new primary medium. As an alternative, a new empty primary media is supplied and the data is copied or restored from one of the backup media.
In case not only data integrity but also data availability matters, there are techniques known such as RAID systems, that continually mirror data from one storage medium to at least one other. E.g. RAID-1 defines implements such a mirror process which ensures that upon failure of the primary medium the data can be retrieved from a synchronized copy on a second medium without interruption of the service.
For professional services, high availability clusters are known utilizing for example Distributed Replicated Block Devices (DRBD) for a distributed storage system. DRBD essentially defines RAID-1 type capabilities over a network, thus provides for spatial redundant storage. In more detail, DRBD provides for logical block devices acting as a proxy for the physical local block devices in each storage node. Data written to the logical block device on the primary node is transferred to a physical block device in the primary node and subsequently copied to the secondary node. In case of a storage media failure at the primary node, the secondary node is promoted to become the new primary node. However, this transition results in inconsistencies between the data stored in the primary and secondary not and thus requires a subsequent verification of the integrity of the file system stacked on top of DRBD or the deployment of a journaling file system such as EXT4.
Generally, systems deploying DRBD require a network connection between each storage systems hat exhibits high and constant data throughput typically only found in managed local area networks. DRBD operates synchronously and fails to perform well in wide area networks with varying data throughput. In particular if the network bandwidth temporarily drops below the bandwidth required for a synchronous replication, an application running on to of DRBD will see increasingly higher Input/Output latencies and/or hangs or stalls.